A typical process monitor runs in the background and scans the system process table periodically for expected and unexpected processes. The server checks the status of the process monitor in the client operating system (OS) periodically. If the process monitor is down, the server gives a warning and tries to manage the client with one or more software methods, such as rebooting the client. There are several problems with this approach. The pure software-based implementation is heavily dependent on the client OS. If there is a problem with the OS, such as being hung or infected by a virus, then any software operations on the OS will fail. Another problem is that there is no standard interface to address the monitoring problem, even though it may be desirable for the monitoring feature to be integrated into different management systems.